TABLE OF CONTENTS

Popobject.mui/Popobject.mui
Popobject.mui/MUIA_Popobject_Follow
Popobject.mui/MUIA_Popobject_Light
Popobject.mui/MUIA_Popobject_Object
Popobject.mui/MUIA_Popobject_ObjStrHook
Popobject.mui/MUIA_Popobject_StrObjHook
Popobject.mui/MUIA_Popobject_Volatile
Popobject.mui/MUIA_Popobject_WindowHook
Popobject.mui/Popobject.mui

	Popobject class takes a MUI object as parameter uses this one
	as popup. You can e.g. simply create a listview object with
	some entries and the popobject class will create a window
	around it and display it when the user hits the popup button.

	Using this class instead of creating the popup windows yourself
	prevents you from having lots of problems. Think twice before
	deciding to make you own popups!
Popobject.mui/MUIA_Popobject_Follow

    NAME
	MUIA_Popobject_Follow -- (V7 ) [ISG], BOOL

    FUNCTION
	Setting this attribute causes the popup window to follow its
	parent window when its moved. Defaults to TRUE.

    SEE ALSO
	MUIA_Popobject_Light, MUIA_Popobject_Volatile.
Popobject.mui/MUIA_Popobject_Light

    NAME
	MUIA_Popobject_Light -- (V7 ) [ISG], BOOL

    FUNCTION
	This attribute causes the popup window to be border and
	titleless. Defaults to TRUE

    SEE ALSO
	MUIA_Popobject_Follow, MUIA_Popobject_Volatile
Popobject.mui/MUIA_Popobject_Object

    NAME
	MUIA_Popobject_Object -- (V7 ) [I.G], Object *

    FUNCTION
	Specify the object to pop up. Usually this is a relatively simple
	thing like a single listview, but you can of course use group
	class here and make rather complex popups. As with all other
	MUI classes, the object here gets disposed when the popobject
	is disposed.

    EXAMPLE
	pop = PopobjectObject,
	   MUIA_Popstring_String, KeyString(0,60,'n'),
	   MUIA_Popstring_Button, PopButton(MUII_PopUp),
	   MUIA_Popobject_StrObjHook, &StrObjHook,
	   MUIA_Popobject_ObjStrHook, &ObjStrHook,
	   MUIA_Popobject_Object, ListviewObject,
	      MUIA_Listview_List, ListObject,
	         InputListFrame,
	         MUIA_List_SourceArray, PopNames,
	         End,
	      End,
	   End;

   SEE ALSO
	MUIA_Popobject_StrObjHook, MUIA_Popobject_ObjStrHook,
	MUIA_Popobject_Light
Popobject.mui/MUIA_Popobject_ObjStrHook

    NAME
	MUIA_Popobject_ObjStrHook -- (V7 ) [ISG], struct Hook *

    FUNCTION
	When a popup is closed, this hook is called. You can examine
	the state of your MUIA_Popobject_Object and set the contents
	of the string gadget respectively. The hook receives a pointer
	to itself in A0, a pointer to your MUIA_Popobject_Object
	in A2 and a pointer to the embedded string object in A1.

	The hook will only be called when your popup is closed with
	a success value of TRUE. Otherwise, MUI closes the popup
	without taking further actions, just as if had never opened.

	Since MUI doesn't know anything about your MUIA_Popobject_Object,
	it's your task to tell when your popup is finished. You can
	terminate popups at anytime by sending a MUIM_Popstring_Close
	method:

	/* A double click terminates the popping list with a successful 
	   return value. */

	DoMethod(plist,MUIM_Notify,MUIA_Listview_DoubleClick,TRUE,
		pop,2,MUIM_Popstring_Close,TRUE);

    EXAMPLE
	SAVEDS ASM VOID ObjStrFunc(REG(a2) Object *list,REG(a1) Object *str)
	{
	   char *x;
	   DoMethod(list,MUIM_List_GetEntry,MUIV_List_GetEntry_Active,&x);
	   set(str,MUIA_String_Contents,x);
	}
Popobject.mui/MUIA_Popobject_StrObjHook

    NAME
	MUIA_Popobject_StrObjHook -- (V7 ) [ISG], struct Hook *

    FUNCTION
	Before the popup opens, this hook is called. You can use it
	to prepare your MUIA_Popobject_Object according to the
	contents of the string gadget. The hook receives a pointer
	to itself in A0, a pointer to your MUIA_Popobject_Object
	in A2 and a pointer to the embedded string object in A1.

	Return TRUE if you want the popup to appear,
	FALSE otherwise.

    EXAMPLE
	SAVEDS ASM LONG StrObjFunc(REG(a2) Object *list,REG(a1) Object *str)
	{
	   char *x,*s;
	   int i;

	   get(str,MUIA_String_Contents,&s);

	   for (i=0;;i++)
	   {
	      DoMethod(list,MUIM_List_GetEntry,i,&x);
	      if (!x)
	      {
	         set(list,MUIA_List_Active,MUIV_List_Active_Off);
	         break;
	      }
	      else if (!stricmp(x,s))
	      {
	         set(list,MUIA_List_Active,i);
	         break;
	      }
	   }
	   return(TRUE);
	}

    SEE ALSO
	MUIA_Popobject_ObjStrHook, MUIA_Popobject_Object, 
	MUIA_Popobject_WindowHook
Popobject.mui/MUIA_Popobject_Volatile

    NAME
	MUIA_Popobject_Volatile -- (V7 ) [ISG], BOOL

    FUNCTION
	Setting this attribute causes the popup window to disappear when the
	corresponding popobject disappears, e.g. because its in a page group
	and the user toggled the page. When the popobject appears again,
	the popup window appears also. Defaults to TRUE.

    SEE ALSO
	MUIA_Popobject_Light, MUIA_Popobject_Follow
Popobject.mui/MUIA_Popobject_WindowHook

    NAME
	MUIA_Popobject_WindowHook -- (V9 ) [ISG], struct Hook *

    FUNCTION
	If specified, this hook is called immediately after the
	popups window objects has been created but before this
	window is opened. You might e.g. want to add a cycle
	chain for the popup window here.

	The hook is called with a pointer to the pop object
	(MUIA_Popobject_Object) in A2 and with a pointer
	to the window object that MUI generated to
	handle the popup in A1.

    EXAMPLE
	/* pop is a simple listview, just set the windows
	** default object to this to enable keyboard control */

	SAVEDS ASM VOID WindowFunc(REG(a2) Object *pop,REG(a1) Object *win)
	{
	   set(win,MUIA_Window_DefaultObject,pop);
	}

    SEE ALSO
	MUIA_Popobject_ObjStrHook, MUIA_Popobject_Object